/*! `mel` grammar compiled for Highlight.js 11.10.0 */
  (function(){
    var hljsGrammar = (function () {
  'use strict';

  /*
  Language: MEL
  Description: Maya Embedded Language
  Author: Shuen-Huei Guan <drake.guan@gmail.com>
  Website: http://www.autodesk.com/products/autodesk-maya/overview
  Category: graphics
  */

  function mel(hljs) {
    return {
      name: 'MEL',
      keywords:
        'int float string vector matrix if else switch case default while do for in break '
        + 'continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic '
        + 'addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey '
        + 'affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve '
        + 'alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor '
        + 'animDisplay animView annotate appendStringArray applicationName applyAttrPreset '
        + 'applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx '
        + 'artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu '
        + 'artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand '
        + 'assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface '
        + 'attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu '
        + 'attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp '
        + 'attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery '
        + 'autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults '
        + 'bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership '
        + 'bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType '
        + 'boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu '
        + 'buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge '
        + 'cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch '
        + 'catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox '
        + 'character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp '
        + 'checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip '
        + 'clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore '
        + 'closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter '
        + 'cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color '
        + 'colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp '
        + 'colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem '
        + 'componentEditor compositingInterop computePolysetVolume condition cone confirmDialog '
        + 'connectAttr connectControl connectDynamic connectJoint connectionInfo constrain '
        + 'constrainValue constructionHistory container containsMultibyte contextInfo control '
        + 'convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation '
        + 'convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache '
        + 'cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel '
        + 'cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver '
        + 'cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor '
        + 'createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer '
        + 'createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse '
        + 'currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx '
        + 'curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface '
        + 'curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox '
        + 'defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete '
        + 'deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes '
        + 'delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo '
        + 'dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable '
        + 'disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected '
        + 'displayColor displayCull displayLevelOfDetail displayPref displayRGBColor '
        + 'displaySmoothness displayStats displayString displaySurface distanceDimContext '
        + 'distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct '
        + 'doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator '
        + 'duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression '
        + 'dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor '
        + 'dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers '
        + 'editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor '
        + 'editorTemplate effector emit emitter enableDevice encodeString endString endsWith env '
        + 'equivalent equivalentTol erf error eval evalDeferred evalEcho event '
        + 'exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp '
        + 'expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof '
        + 'fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo '
        + 'filetest filletCurve filter filterCurve filterExpand filterStudioImport '
        + 'findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster '
        + 'finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar '
        + 'floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo '
        + 'fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint '
        + 'frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss '
        + 'geometryConstraint getApplicationVersionAsFloat getAttr getClassification '
        + 'getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes '
        + 'getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender '
        + 'glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl '
        + 'gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid '
        + 'gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap '
        + 'HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor '
        + 'HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached '
        + 'HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel '
        + 'headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey '
        + 'hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender '
        + 'hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox '
        + 'iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel '
        + 'ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem '
        + 'ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform '
        + 'insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance '
        + 'instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp '
        + 'interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf '
        + 'isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect '
        + 'itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx '
        + 'jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner '
        + 'keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx '
        + 'keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx '
        + 'keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx '
        + 'keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor '
        + 'layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList '
        + 'lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep '
        + 'listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory '
        + 'listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation '
        + 'listNodeTypes listPanelCategories listRelatives listSets listTransforms '
        + 'listUnselected listerEditor loadFluid loadNewShelf loadPlugin '
        + 'loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log '
        + 'longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive '
        + 'makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext '
        + 'manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx '
        + 'manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout '
        + 'menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp '
        + 'mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move '
        + 'moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute '
        + 'nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast '
        + 'nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint '
        + 'normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect '
        + 'nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref '
        + 'nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType '
        + 'objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface '
        + 'offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit '
        + 'orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier '
        + 'paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration '
        + 'panelHistory paramDimContext paramDimension paramLocator parent parentConstraint '
        + 'particle particleExists particleInstancer particleRenderInfo partition pasteKey '
        + 'pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture '
        + 'pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo '
        + 'pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult '
        + 'pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend '
        + 'polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal '
        + 'polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge '
        + 'polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge '
        + 'polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet '
        + 'polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet '
        + 'polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection '
        + 'polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge '
        + 'polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet '
        + 'polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix '
        + 'polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut '
        + 'polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet '
        + 'polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge '
        + 'polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex '
        + 'polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection '
        + 'polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection '
        + 'polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint '
        + 'polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate '
        + 'polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge '
        + 'polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing '
        + 'polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet '
        + 'polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace '
        + 'popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer '
        + 'projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx '
        + 'propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd '
        + 'python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection '
        + 'radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl '
        + 'readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference '
        + 'referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE '
        + 'registerPluginResource rehash reloadImage removeJoint removeMultiInstance '
        + 'removePanelCategory rename renameAttr renameSelectionList renameUI render '
        + 'renderGlobalsNode renderInfo renderLayerButton renderLayerParent '
        + 'renderLayerPostProcess renderLayerUnparent renderManip renderPartition '
        + 'renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor '
        + 'renderWindowSelectContext renderer reorder reorderDeformers requires reroot '
        + 'resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget '
        + 'reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx '
        + 'rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout '
        + 'runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage '
        + 'saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale '
        + 'scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor '
        + 'sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable '
        + 'scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt '
        + 'searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey '
        + 'selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType '
        + 'selectedNodes selectionConnection separator setAttr setAttrEnumResource '
        + 'setAttrMapping setAttrNiceNameResource setConstraintRestPosition '
        + 'setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr '
        + 'setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe '
        + 'setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag '
        + 'setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject '
        + 'setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets '
        + 'shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare '
        + 'shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField '
        + 'shortNameOf showHelp showHidden showManipCtx showSelectionInTitle '
        + 'showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface '
        + 'size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep '
        + 'snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound '
        + 'soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort '
        + 'spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString '
        + 'startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp '
        + 'stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex '
        + 'stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex '
        + 'stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString '
        + 'stringToStringArray strip stripPrefixFromName stroke subdAutoProjection '
        + 'subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV '
        + 'subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror '
        + 'subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease '
        + 'subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring '
        + 'surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton '
        + 'symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext '
        + 'texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext '
        + 'texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text '
        + 'textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList '
        + 'textToShelf textureDisplacePlane textureHairColor texturePlacementContext '
        + 'textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath '
        + 'toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower '
        + 'toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper '
        + 'trace track trackCtx transferAttributes transformCompare transformLimits translator '
        + 'trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence '
        + 'twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit '
        + 'unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink '
        + 'uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane '
        + 'viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex '
        + 'waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire '
        + 'wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform',
      illegal: '</',
      contains: [
        hljs.C_NUMBER_MODE,
        hljs.APOS_STRING_MODE,
        hljs.QUOTE_STRING_MODE,
        {
          className: 'string',
          begin: '`',
          end: '`',
          contains: [ hljs.BACKSLASH_ESCAPE ]
        },
        { // eats variables
          begin: /[$%@](\^\w\b|#\w+|[^\s\w{]|\{\w+\}|\w+)/ },
        hljs.C_LINE_COMMENT_MODE,
        hljs.C_BLOCK_COMMENT_MODE
      ]
    };
  }

  return mel;

})();

    hljs.registerLanguage('mel', hljsGrammar);
  })();